#ifndef __PLATFORM_LIB_INTERNAL_H__
#define __PLATFORM_LIB_INTERNAL_H__
#ifdef __cplusplus
extern "C"
{
#endif

#include <errno.h>
#include <assert.h>
#include <stdbool.h>

#include "pf_errno.h"
#include "pf_common.h"

/******************************************************************************************************/

/* set new error number
   return the prev error number */
extern int32_t pf_set_errno(int32_t error_number);

/******************************************************************************************************/

/* use to avoid unused variable warning */
#define PF_UNUSED(x) do{/* null */}while((uintptr_t)&x == 0x01);

/* print macro value */
#define PF_PRINT_FUNC(x)    #x

#define PF_PRINT_MACRO(x)   PF_PRINT_FUNC(x)

/* get array count */
#define PF_ARR_SIZE(x)      (sizeof(x)/sizeof(x[0]))

/******************************************************************************************************/

#ifdef __cplusplus
}
#endif
#endif /* #ifndef __PLATFORM_LIB_INTERNAL_H__ */ 

